package 算法练习;

import java.util.Scanner;

/**
 * 
 * @author ：soulstones
 * @version ：2019年9月15日 下午7:48:19 @Description：
 * 
 *          有1分，2分，5分，10分四种硬币，每种硬币数量无限， 给定n分钱(n <= 100000)，有多少中组合可以组成n分钱？
 * 
 * 输入
13
输出
16
 */
public class 硬币划分 {
	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);
		int n = input.nextInt();
		int coins[] = { 1, 2, 5, 10 };
		int[] dp = new int[100001];
		dp[0] = 1;
		for (int i = 0; i < 4; i++) {
			for (int j = coins[i]; j <= n; j++) {
				dp[j] = (dp[j] + dp[j - coins[i]]) % 1000000007;
			}
		}
		System.out.println(dp[n]);

	}
}
